With the proliferation of inexpensive handheld communications devices such as mobile phones, texting has become a popular way to communicate. Based on the “Short Message Service” (“SMS”) standardized by GMS wireless telephone network carriers worldwide since the mid-1980's, texting involves sending a message containing a maximum, relatively small number of characters (for example, 140 bytes or 160 7-bit characters in one non-limiting scenario) per message based on standard alphabets. Other data messaging services such as Twitter similarly constrain message length e.g., to 140 characters. Certain other messaging standards such as MMS permit transmission of a variety of other data such as multimedia.
Short messaging offers numerous advantages in terms of transport efficiency, succinctness and convenience, but there can be problems with security. Most short messages are sent and received in unsecured form. Interception by unauthorized people and spoofing are two of the problems that can arise from insecure short messaging. Hacking of insecure text messaging has caused numerous high-profile scandals and information leaks. Additionally, texting could be a valuable tool for law enforcement, the military and other government agencies if adequate end-to-end security could be provided.
While it would be highly desirable to secure short messaging, there are challenges to doing so. In particular, the short length, insecurity of the communications networks used to transport the messages and the relatively low processing power available on many devices commonly used to exchange short messages all present obstacles to introducing secure SMS or other secure short messaging.
Most secret or secure messaging is based on the concept of a “shared secret” that only the sender and receiver know. Such a shared secret can be a code book, a cryptographic key for the day or the session, a pseudorandom cryptographic key generated independently by each of the sender and the receiver based on shared “seed” data, or a variety of other mechanisms.
One of the many problems with ciphering data for messaging communications between devices that are connected over insecure voice or data networks is how to securely exchange the shared secret used to support cryptographic operations between the endpoints. Traditionally, a third party server or service is used to verify and/or exchange material between the devices used for this purpose—thus requiring a “middleman” computing device that may foreclose end-to-end secure communications between peers or other devices where no “middleman” is available. Other implementations may use heavyweight asymmetric encryption algorithms that while being quite secure are often not suitable for narrow bandwidth or short message oriented communications between devices having relatively low computing capabilities. Yet another approach is to share a secret key which is then used for a relatively long period of time and changed only rarely. While a individual message may be sent securely using this approach, key re-use can lead to insecurity based on frequency and traffic analysis. Nonce abuse (using the same cryptographic keying material more than once to encrypt different messages) may also allow attackers to compare multiple messages to derive the cryptographic keying material.
While much work has been done in the past, there remains a long-felt but unsolved need for an effective, robust secure technique for exchanging information needed to support secure short messaging.
The exemplary illustrative non-limiting technology herein provides non-limiting cryptographic processes and algorithms associated with ProtectedSMS that allow for a lightweight peer-to-peer exchange of cryptographic information over insecure communications links.
One example non-limiting implementation provides methods of exchanging information to enable secure messaging between first and second messaging devices involving encapsulating a first public key associated with a first device public-private key pair with a first identifier so that the encapsulated public key does not occupy more than half the available payload. The encapsulated first public key and first identifier are then communicated from the first device to the second device. The first device receives, from the second device, a response including a second public key and second identifier associated with the second device. The first device computes a shared secret based at least in part on the received second public key and uses the shared secret to encrypt or decrypt a short message sent over a messaging network. The short message can be time stamped to securely indicate when the message was actually sent. An acknowledgement of receipt can be received and transmitted. The encapsulation may occupy a short message of fixed or variable length such as a maximum of a single SMS or other secure message length (e.g., 140 text characters, 131 bytes, etc.).
The exemplary illustration technology herein avoids cryptographic collision of data and the cryptographic material to increase the level of security. In one example non-limiting illustrative implementation, a shared secret is derived from exchanged information such as secret public keys of PK key pairs. In one example, a well-known efficient but standard function that is proven to be computationally infeasible to hack (e.g., use of an elliptical curve based or other cryptographic algorithm) is used to derive shared secret cryptographic information from the public key.
The exemplary illustrative non-limiting light-weight technology herein is able to implement secure technology using a small amount of computational power of the type available on low-cost portable, mobile or any other end-to-end devices (e.g., any embedded processing technology) and within limited message length constraints. For example, the exemplary illustrative non-limiting technology provides a reduced or minimal message encapsulation having low consumption of available message payload. As one non-limiting example, by using less than 15% of available payload for security overhead of SMS messages, it is possible to provide defenses against known attacks while minimizing consumption of precious resources, namely processing power and/or characters in short messages being sent and received, and also reducing the probability of successful attacks due to cryptographic collision.
One exemplary illustrative non-limiting implementation provides unique combinations of:                technology that works successfully and securely for short or constrained message lengths;        ability to exchange shared secret key information through a bandwidth-challenged interface in a way that is not onerous on the users who are sending and receiving secure messages;        no additional infrastructure required beyond conventional components already in place for exchanging messages;        using a friending paradigms to exchange public keys or other cryptographic information;        low computational requirements enabling security on a wide variety of different platforms including very inexpensive devices;        other.        
In simple terms, an illustrative ProtectedSMS can be used to protect data content in SMS, Twitter or other short messaging. Furthermore, this technology can be used to protect message oriented communications such as MMS, picture messages, email messages, other text documents/attachments, command and control messages, alerts messages, machine to machine messages, etc.
The illustrative ProtectedSMS provides a mobile or portable device with an ability to encrypt and decrypt messages exchanged with other users and devices who also have access to the ProtectedSMS protocol and application algorithms. ProtectedSMS can use public key cryptography as the basis for the algorithms that secure the data. The technology herein provides an example non-limiting “Contact Registration Exchange” for how two peers secure data between one another. Non-limiting technical overviews and detailed descriptions of example non-limiting cryptographic technology and techniques employed to secure SMS traffic are provided. One example non-limiting target platform with which the present technology can be useful is RIM's Blackberry operating system, Apple iPhones and iPads, or any desired SMS or other short messaging platforms.